#i had to use desmos to make the score curve...
Explore tagged Tumblr posts
Text
my (sarcastic) favorite part of autism is being great at high level stuff but dogshit at basic things.
im not bragging here because i was genuinely surprised by my ability, but like. in college i got A's in calculus 1 & 2 and calculus-based physics 1 & 2. i have failed math quizes in highschool just by making a bunch of arithmetic mistakes.
i cant remember which months have how many days. do NOT tell me the rhyme. i will NOT remember it. or the knuckles trick i will NOT remember it either.
How is it that i can maintain an almost 4.0 gpa but can't do this shit... thank you autism!
#im coding a game to practice javafx#which basically lets you do graphics#when coding in java#i was trying to calculate the score#and i was getting weird numbers#it was because i didnt understand the arithmetic...#i had to use desmos to make the score curve...#autistic#autism#actually autistic#neurodivergent#actually neurodivergent#nd#🍒🌹 rambles
75 notes
·
View notes
Text
Devlog 7.2: Progress On Mobile Mechanics (Part 2)
Date: 27 June 2020
Customer spawning
With our deadline looming ever closer, I’ve started scrutinizing which of our features are truly essential. Initially, we were going to have two types of customers — customers ordering takeaway and dine-in customers.
Take away customers would come into the restaurant randomly and place orders for single dishes of chicken rice directly at the cashier. Dine-in customers would come in groups of 2 to 4, need to be seated at an appropriate table, have their orders taken and served to them, then their tables cleaned.
Dine-in customers would introduce waves of orders for the chef. Takeaway customers were supposed to add extra difficulty by introducing a constant stream of new orders the chef had to tackle alongside the waves.
If we balance the difficulty of cooking and the spawn rates of customers, however, I believe that we can make do without takeaway customers.
Developing a Spawn System
I’ve never really had to develop a proper spawn system before — all the game objects I had to spawn had an equal probability of spawning, so I just used Random.Range to randomly spawn a game object from an array of objects. I didn’t have to tweak the probabilities of different types of spawns before.
I had to spawn different sizes of groups of customers to dine-in, so this lack of experience hampered me slightly. This video helped me get started, however. I truly am grateful for the bountiful resources and tutorials available on the internet.
With most of the tables being two-seaters and up, I decided to spawn more couples. That way, players would frequently have to grapple with the choice of seating a couple at a 4-seater if they’re out of two-seaters, or leave the 4-seater open for potential groups of 3 and 4.
Balancing the Overall Gameplay Difficulty
The aim of our game is for the group of players to sustain the restaurant for as many days as they can in one playthrough. Each day, the players will have to deal with more customers with less patience.
Kind of like an endless level with waves of challenges (think Plants Vs Zombies Endless Survival Mode), except between each wave, the gameplay will be paused and your performance evaluated.
If we were to hard code specific values each day should have (e.g. the max number of customers to spawn each day, the frequency of customer spawning and the rate of decrease of customers’ patience levels), we’d have a finite number of levels for players to hussle through.
As such, we need to find a general pattern we’d like the difficulty to rise in, then run the base values set for level 1 through a formula based on the pattern we want to use.
I played around with Desmos, an online graphing calculator to determine what formula would suit the difficulty curve we were picturing.

This first one helped capture the general curve, but the change in difficulty was a little drastic.
While playing Overcooked, we observed that the first few levels were relatively easy to perform well in. The difficulty scaled slowly, such that only at the 6th level did we start struggling to get high enough scores to get a 3/3 star ranking. As such, we decided that the gradient of our difficulty should be such that around the 6th day, the difficulty of the game would be twice as hard as that of the first day.

This second curve had the kind of gradient we were looking for. As you can see, however, the changes in the graph are quite small — the difficulty of the game would increase from 0.2 units on day 1 to 0.4 units on day 6. In the grand scheme of things, that’s not a lot of difference.

This brings me to the curve we arrived at. Of course, what we’ve proposed is merely theoretical in nature. Our difficulty curves are not set in stone and should change after playtesting is done.
Patience system
The simplest feature I’ve implemented so far. I created a method that would reduce the fill amount of an image of a circle as the patience of the customer runs out. The customer will start out with a patience level based on whatever float was passed into the method as an argument.
When I’ve implemented an evaluation system, a method that penalises the player’s customer service evaluation score should be called when the timer runs out, while a method that improves their score will be called if the customer is served before they have lost 10% of their patience.
What’s next?
Customer behaviour!
Making the customers walk into and queue in the restaurant.
Creating a depth-based alpha shader so that customers will fade in and out as they walk through the entrance of the restaurant.
Allowing the player to bring customers to tables.
Have the customers sit down and generate orders.
Customers eating, then leaving when satisfied.
2 notes
·
View notes